#include "stm32f10x.h"
#include "led.h"
#include "Delay.h"
#include "key.h"
#include "gpio.hpp"

int main(void){

	SimpleGeneralGpio simpleGeneralGpio;

	uint16_t led_gpio_pins = GPIO_Pin_8 | GPIO_Pin_10;

    init_gpio_pp(RCC_APB2Periph_GPIOA,GPIOA,led_gpio_pins);

	high_level_signal(GPIOA,led_gpio_pins);

	uint16_t key_gpio_pins = GPIO_Pin_6 | GPIO_Pin_9;

	init_gpio_ipd(RCC_APB2Periph_GPIOB,GPIOB,key_gpio_pins);
	
	while(1){
	
		//Delay_s(1);
		

		if(read_key_num(GPIOB,GPIO_Pin_9)==1){

			uint8_t out_put_status =  read_gpio_status(GPIOA,GPIO_Pin_10);

			if(out_put_status==0){
				// 当前led已经通过低电平点亮，现在关闭小灯
				high_level_signal(GPIOA,GPIO_Pin_10);
			}else{
				// 点亮灯泡
				low_level_signal(GPIOA,GPIO_Pin_10);
			}
			
		}

		if(read_key_num(GPIOB,GPIO_Pin_6)==1){
			low_level_signal(GPIOA,GPIO_Pin_8);
		}
        
		
	}
	
	return 0;
}

